1. Field of the Invention
The present invention generally relates to communication networks. More specifically, the present invention relates to determining node associations in mesh networks.
2. Description of Related Art
A mesh network is a way to communicate information through multiple nodes, which may be distributed over an area. The multiple nodes allow for an information packet to travel through multiple routes to any given receiving node or device. The nodes in a mesh network may communicate through wired or wireless connections. In an Institute of Electrical and Electronics Engineers (IEEE) 802.11 network, an access point (e.g., a base station) communicates data to one or more remote receiving nodes over a wireless link. A lightweight mesh network, for example, may have a single wired node serving as the access point and multiple wireless receiving nodes. Each wireless node may have an internal mesh basic service set (MBSS). Each MBSS in the mesh network may have a unique basic service set identifier (BSSID) but share an identical service set identifier (SSID) and/or pre-shared key (PSK). A node may identify another node in the network by reference to the other node's BSSID.
Each transmission from one node to another may be referred to as a hop. Each of the nodes in a mesh network may connect with one another through one or more hops. For example, a first receiving node, or child node, receives information from a parent node via one hop.
A mesh network where all nodes are directly connected to one other may be referred to as a fully connected network. Information transmission in a fully connected network may take only one hop (e.g., from a parent node to a child node). In some mesh networks, however, information transmission may require multiple hops through multiple nodes. If there is a grandparent node, for example, two hops are required for the information to be sent from grandparent to parent to child, and so forth.
Depending on the configuration of the nodes, an information packet may be transmitted to a receiving node or device through multiple possible routes. The particular route taken by an information packet may be determined by various available routing algorithms. Generally, a goal of a routing algorithm is to allow information to be transmitted quickly and efficiently to a receiving node.
Determining a route presents a difficult optimization problem. Routing algorithms may have to determine how a node learns what other nodes are available, with which of the other node(s) to associate, which associations allow for quick and efficient information transfer, and so forth. Some routing algorithms may determine that a receiving node be associated with particular route(s) and/or particular parent node(s).
Various circumstances may require that a route be changed for a given receiving node. For example, a parent node may fail, and the receiving node may have to associate with a different parent node. Other circumstances requiring a change in routing may include changes in network traffic, changes in data rates, changes in the weather, etc. There is, therefore, a need for improved systems and methods for determining associations in a mesh network.